package com.jxmcloud.business.cut.service.user;

import com.jxmcloud.business.cut.vo.UserOrderTranVo;
import com.jxmcloud.business.cut.vo.json.ConfigProgressVo;
import com.jxmcloud.business.cut.vo.user.PlayerInfoVo;

import java.util.List;

public interface IUserOrderService extends IUserService {

    ConfigProgressVo checkProgressDto(Integer progressId);

    UserOrderTranVo updateUserOrders(PlayerInfoVo player, Integer progressId);

    UserOrderTranVo updateSpecificOrder(PlayerInfoVo player, List<UserOrderTranVo> userOrderList, Integer orderId);

    UserOrderTranVo updateFirstUnusedOrder(PlayerInfoVo player, List<UserOrderTranVo> userOrderList);

    /**
     * 查询商城用户订单信息
     * @param player 用户信息
     * @return
     */
    boolean selectVipOrder(PlayerInfoVo player);

    /**
     * 查询商城用户下单次数
     * @param player
     */
    boolean selectVipOrderNum(PlayerInfoVo player);

    /**
     * 获取指定订单的信息
     * @param player 用户信息
     * @param orderId 订单id
     * @param specId 规格id
     * @return
     */
    UserOrderTranVo getUserOrderTranVo(PlayerInfoVo player, Integer orderId, Integer specId);

    /**
     * 重置所有订单为未使用状态
     * @param player
     */
    void resetAllOrders(PlayerInfoVo player);
}
